//
//  NSString+Additions.h
//  DJAppModule
//
//  Created by Lynn_Lin on 2018/3/22.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface NSString (Additions)

/**
 字符串高度

 @param text 字符串
 @param width 宽度
 @param attributes 字符串属性
 @return 高度
 */
+ (CGFloat)heightForText:(NSString *)text constWidth:(CGFloat)width attributes:(NSDictionary *)attributes;
/**
 字符串大小

 @param string 字符串
 @param width 宽度
 @param dictionary 字符串属性
 @return 字符串大小
 */
+ (CGSize)sizeForString:(NSString *)string constWith:(CGFloat)width attribtes:(NSDictionary *)dictionary;
/**
 字符串单行高度

 @param dictionary 字符串属性
 @return 高度
 */
+ (CGFloat)singleLineHeight:(NSDictionary *)dictionary;
/**
 获取string合适size

 @param fontSize 字体大小
 @return 获取string对应字体大小的size
 */
- (CGSize)suitableSizeWithFont:(CGFloat)fontSize;
/**
 *  从url里面找到对应key=的值
 *
 *  @param keyStr 对应key
 *
 *  @return 对应value
 */
- (NSString *)findValueFromUrlStr:(NSString *)keyStr;
/**
 判断手机号是否有效
 
 @return 判断手机号是否有效
 */
- (BOOL)isValidMobile;
/**
 隐藏手机号部分数字

 @return 隐藏后的手机号码
 */
- (NSString *)MaskPhoneNumber;
/**
 获取md5字符串

 @return 获得字符串的md5
 */
- (NSString *)MD5String;
/**
 对URL地址进行encode

 @return encode后的URL地址链接
 */
- (NSString*)urlEncoding;

- (NSString *)urlEncodeString;

- (NSString *)dj_urlDecoderString;

/**
 *  MD5摘要
 *
 *  @return MD5摘要 (原有不严谨)
 */
- (NSString *)stringMD5Encode;

/**
 根据出入字符串、限制宽度、字体大小计算字体宽度

 @param strString 待测量字符串
 @param width 限制宽度
 @param font 字体
 @return 字体size
 */
+ (CGSize)getStringSize:(NSString *)strString strWidth:(CGFloat)width fontSize:(UIFont *)font;

/**
 判断是否输入了表情符号

 @param string 待判断字符串
 @return 字符串是否包含表情
 */
+ (BOOL)isContainsEmoji:(NSString *)string;


/**
 删除字符串中emoji表情

 @return 返回字符串
 */
- (NSString *)dj_deleteEmoji;

- (NSString *)dj_detectUrlComponentsWithKey: (NSString *)strKey;
@end
